package com.deco.service;

import com.deco.domain.vo.sys.CmsUserVo;
import org.apache.shiro.SecurityUtils;

import java.sql.Timestamp;

/**
 * <p>
 * 功能概述:
 * </p>
 * <p>
 * 功能详述:
 * </p>
 */
public class CommonService {
    /*========================================================================*
     *                         Public Fields (公共属性)
     *========================================================================*/

    /*========================================================================*
     *                         Private Fields (私有属性)
     *========================================================================*/

    /*========================================================================*
     *                         Construct Methods (构造方法)
     *========================================================================*/

    /*========================================================================*
     *                         Public Methods (公有方法)
     *========================================================================*/
    public CmsUserVo getCurrentUser(){
        return (CmsUserVo)SecurityUtils.getSubject().getPrincipal();
    }

    public int getCurrentUserId(){
        CmsUserVo cmsUser = (CmsUserVo)SecurityUtils.getSubject().getPrincipal();
        return cmsUser==null?0:cmsUser.getId();
    }
    public Timestamp getCurrentTimeStamp(){
        Timestamp createTime = new Timestamp(System.currentTimeMillis());
        return createTime;
    }

    public boolean isStringNumberValid(String str, int start, int max){
        String regex =  String.format("[a-zA-Z0-9]{%d,%d}", start, max);
        if(str.matches(regex)){
            return true;
        }
        return false;
    }

    public static void main(String[] args) {
        CommonService service = new CommonService();
        System.out.println(service.isStringNumberValid("1111111111111111", 6,16));
    }
    /*========================================================================*
     *                         Private Methods (私有方法)
     *========================================================================*/
}
